GtkEntry: Refresh when activity ends
authorMatthias Clasen <mclasen@redhat.com>
Mon, 8 Dec 2014 11:39:19 +0000 (06:39 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 8 Dec 2014 11:39:56 +0000 (06:39 -0500)
We need to queue a redraw when pulse mode is ended by
setting a fraction. Noticed in gtk3-demo's search entry demo.

gtk/gtkentry.c

index cf9ee679030d5d4d795b157fd3402e8c35013397..03fb6d7d748e103b7718b5d67014677fee5e768b 100644 (file)
@@ -10617,12 +10617,15 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
   gdouble          old_fraction;
   gint x, y, width, height;
   gint old_x, old_y, old_width, old_height;
+  gboolean was_pulse;
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
   widget = GTK_WIDGET (entry);
   private = entry->priv;
 
+  was_pulse = private->progress_pulse_mode;
+
   if (private->progress_pulse_mode)
     old_fraction = -1;
   else
@@ -10641,7 +10644,8 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
     {
       get_progress_area (widget, &x, &y, &width, &height);
 
-      if ((x != old_x) || (y != old_y) || (width != old_width) || (height != old_height))
+      if (was_pulse ||
+          x != old_x || y != old_y || width != old_width || height != old_height)
         gtk_widget_queue_draw (widget);
     }